23

» WarCraft 3 / Как создать следы крови?

Похожие вопросы:

ответ
но когда срабатывает одновременно в некоторых случаях текст остается, в чем причина не знаю
причина в бж функциях
избавься от бж и всё норм будет

23

» Администрация XGM / Исчез проект??

Похожие вопросы:

ответ
nvc123:
CaptainFox, да
зато когда проекту снижают уровень то опыт за комментарии/ресурсы снимают
нет не снижается. Опыт дают всем участникам при повышение. И его же отнимают при понижение. Опыт за ресурсы и комментарии всегда остается.

23

» WarCraft 3 / Редактор карт, триггеры

Похожие вопросы:

ответ
Roy Mustang:
Slork:
Поставь matching unit вместо picked unit.
ответ
Вот, например
Вот ещё.
И ещё.
ответ
Резюмируя:
  • стремиться создавать объекты не на карте, а в триггерах, сохраняя ссылки на нужные из них;
  • там, где в гуи открываются окна со списком из РО, использовать джасс и вводить равкод, а там, где список расставленных на карте юнитов, использовать переменные;
  • в РО с полями, где указаны объекты, работать через Shift+Enter и вводить равкод, чтобы не открывать список.
*Равкод в РО можно посмотреть, нажав Ctrl+D
ответ
Оказывается причина была намного сложнее)))
Тот самый триггер-комментарий был обычным триггером (т.е хранил всю информацию о действиях и т.д), но отображался как комментарий
Поэтому помогло только его удаление

23

» WarCraft 3 / Триггерная способность

Похожие вопросы:

ответ
Какой точный вопрос, однако.
Ответ: триггерно, либо в редакторе объектов, если нужно изменить характеристики, не создаваемые/изменяемые триггерно.
Попытаюсь сыграть в экстрасенса, подстрахуюсь логикой:
Если нужно, чтобы изменялась характеристика количественно, т.е, например, увеличивался наносимый урон, то в действии нанесения урона вместо точного значения нужно выставить функию (формулу, зависимость etc.) имеющую аргументом уровень способности.
Если нужно менять характеристику качественно, например, тип наносимого урона, то следует использовать условия, сравнивающие уровень способности с нужным значением и... далее есть несколько вариантов реализации, но наиболее подходящий - просто выполнять все последующие действия триггера внутри оператора, а затем создать несколько раз скопировать его для других условий. Хотя, с точки зрения программирования, это не очень хороший вариант.
ответ
~8gabriel8:
Вроде бы можно такое в последних патчах сделать, а в 1.26 и ниже нет. Но если тебе нужен не общий триггер для любых юнитов, которые у тебя есть и будут, а для конкретного героя, то можно просто считать. Например, у паладина учитываешь разницу в атаке, прибавляешь к ней силу, включая бонусы предметов, прибавляешь атаку от предметов, прибавляешь атаку от баффов, если они на нём есть, вычитаешь атаку от дебаффов, если есть, в итоге получишь его значение атаки. Аналогично с бронёй.
ответ
~8gabriel8:
Это жесть, что ты сделал) Этот русификатор триггеров уж такую муть содержит, что ты просто какую-то белиберду сотворил. Исправил до рабочего вида, но чтобы совсем красиво было, это не ко мне, а к джассерам. Просто времени мало на всё, а исправление этих триггеров затратило его довольно много.
ответ
Вот условие на проверку баффа. Но тут может быть проблема, если у тебя есть станящие способности, которые используют не этот бафф.
Но мой способ, предложенный выше, также должен работать, причём независимо от того, какой станящий бафф наложен.

23

» WarCraft 3 / Заголовок

Похожие вопросы:

ответ
короче берём сиджасс и пилим свою систему с картами и девушками
Audes, я написал как можно
ответ
quq_CCCP:
Pro100Gaus, Особо не защитишь, ну только если от идиотов. Суть защиты? Есть что то что не хочется показывать другим? Остачертели читоры? Решил торговать пикселями по образу и подобию велв?
Суть карты в розвитии, нехочу чтобы какой-то умникум(Уе**н) писал себе голд/ламбер, пытался таже запрещать команды -gold,-lumber, но они просто меняют команды на ресы.
ssbbssc:
vexorian map optimiser
Я запротектил и спокойно открыл MPQ masterom/editorom + .j файл
Нашёл у Джокера спазлер, уже плюс. Берите кому надо jokerclub.at.ua/forum/4-443-1
Но всёже помогите найти более мощное.
ответ
Это баг варика. Когда ты используешь несколько диалогов и показываешь их подряд, название Title надо каждый раз заново создавать. Если бы у тебя был один диалог и ты бы его показывал несколько раз подряд - заголовок сохраниться.
Могу посоветовать при пересоздании запускать триггер dialog повторно.
ответ
8gabriel8:
Тип передвижения на Нет ставишь?
Хотя, если здание, значит прямоугольная карта путей по игровой сетке, а не любое местоположение. Тип передвижения в этом случае не важен.
Я думаю кроме нас тут уже больше никто не напишет поэтому я закрою вопрос, спасибо за внимание и ответы.

23

» WarCraft 3 / Перестает работать триггер

Похожие вопросы:

ответ
Сначала попробуй перенести все триги в другую карту, если в другой мапе все работает - проблема не в тригах, если всеже в тригах - удаляй по очереди, категориями, выясняй из-за каких не работает. Это проблема частного триггера\переменной. Чаще всего так.
ПЫСЫ не забывай бэкапить карту
ответ
Но ведь сами по себе ошибки не происходят.
Причина подобного это А) - невнимательность либо твоя либо автора В) - программное обеспечение
Что бы в дальнейшем все было окей, просто сначала потести карту полностью что бы знать что и как должно быть, а потом вноси изменения, будь внимательней.
Еще советую связаться с автором и поговорить с ним об этой проблеме, или запросить у него еще 1 исходник да бы сверЯться с ним.
ответ
XGM Bot:
Похожие вопросы:

ответ
Сначала попробуй перенести все триги в другую карту, если в другой мапе все работает - проблема не в тригах, если всеже в тригах - удаляй по очереди, категориями, выясняй из-за каких не работает. Это проблема частного триггера\переменной. Чаще всего так.
ПЫСЫ не забывай бэкапить карту
ответ
вопросы типа сделайте за меня не принимаются
по поводу того как это делать написано здесь xgm.guru/p/wc3/articles
ответ
unsinkable78, один из вариантов это большое количество однотипных триггеров с периодом
объедении их в 1
а лучше используй таймер вместо триггеров
unsinkable78, так же вероятно проблема в твоих массивах
ты судя по всему задаёшь им размер в 1000
из за чего при запуске игры твой массив заполняется ненужными значениями что забивает память и может приводить к лимиту потока (в вар3 у потока/триггера есть максимальное количество операций которые он может выполнить)
вот пример из твоего j файла
set i = 0
    loop
        exitwhen (i > 1000)
        set udg_squad[i] = CreateGroup()
        set i = i + 1
    endloop
этот код циклом от 0 до 1000 создаёт группы(1000 групп соответственно) и заносит их в массив squad
это тратит более 1000 операций
и таких моментов много
так же я видел места где ты использовал массивы вместо обычных переменных что тоже увеличивает затраты ресурсов и может приводить к лимиту потока
массивы нужно использовать лишь там где без них не обойтись
ответ
Возможно что в каком то триггере не объявил глобальную переменную. Т.е. group g, когда правильно будет group g=null or group g=CreateGroup() если же real or integer то =0
P.S.Сам с этим не раз сталкивался
ответ
Но ведь сами по себе ошибки не происходят.
Причина подобного это А) - невнимательность либо твоя либо автора В) - программное обеспечение
Что бы в дальнейшем все было окей, просто сначала потести карту полностью что бы знать что и как должно быть, а потом вноси изменения, будь внимательней.
Еще советую связаться с автором и поговорить с ним об этой проблеме, или запросить у него еще 1 исходник да бы сверЯться с ним.

ответ
А какая ошибка?
И почему вы не сделали так:
function InitTrig_AnimationBirthWaterElem takes nothing returns nothing
...
	set allregion = CreateRegion()
    call RegionAddRect(allregion, GetWorldBounds())
    call TriggerRegisterEnterRegion( gg_trg_AnimationBirthWaterElem, allregion, null)
...
endfunction

23

» WarCraft 3 / Кампания для 2-их???

Похожие вопросы:

ответ
Используйте поиск перед созданием вопроса
Вот тема
ответ
Я сам разобрался с проблемой. Конечно тут две новые появились, но на них забью уже:
  1. ИИ не нравился герой, из-за него вообще никто не нанимался.
  2. ИИ посчитал, что улучшив главное здание, он лишается главного здания, а значит нужно его снова строить. То есть, например, улучшив ратушу до крепости, он считает, что ратуши больше нет и необходимо построить ещё одну. Потом он крепость улучшит до замка, посчитает, что разрушили крепость, улучшит до крепости ратушу№2, снова потеряет ратушу и построит уже третью.
ответ
RunXM:
Naadir:
А, та самая кампания! (что???)
Где обещанная ссылка?
Имя главного персонажа ни о чём не говорит, сюжет бы сюда вписался лучше.
Подправил, сойдет?
Нет, по-видимому, продолжения пока нет.
ответ
TitanQ_287, самый хороший вариант - это хранить кампании в папке "мои документы" и её подпапках. Вся эта хрень с пропаданием кампаний происходит потому что винда не любит хранить лишние файлы в Program Files.
ответ
Нашел ошибку:
В функции SuicideUnits (в самом низу) должно находиться строго 10 значений. У меня 9. Если приписать еще 0, то все работает.

23

» WarCraft 3 / getbooleanand

Похожие вопросы:

ответ
  1. Все локалки должны объявляться в начале функции (у тебя local unit blizzard = GetLastCreatedUnit() вообще где-то в конце, объявляй в начале, а потом при создании юнита задавай).
  2. Если в функции function Trig_Cast_Func005C и других подобных unit - это локалка, объявленная в другой, то так делать нельзя. Используй глобалку или перестраивай ифзенэлс.
  3. Ну и утечек, необнулений хватает (н-р, точка кастера тоже должна задаваться в переменную и обнуляться).

23

» WarCraft 3 / Как извлечь?

Похожие вопросы:

ответ
глянь тут-http://wcunderground-downloads.blogspot.ru/p/blog-page.html
ответ
Никак. Варкрафт 2 — двухмерная игра, в ней нет моделей. В ней плоские картинки — спрайты. А модели «из варика 2» моделлеры делают заново.
ответ
Ответ сам нашел, вначале файла blizzard.j есть индексы кампаний, внизу прописаны функции вызывающие проигрывание ролика.
ответ
устанавливаешь это...
запускаешь=> окна =>браузер МПК архивов=> Файл=> war3.mpq
находишь, что надо и импортируешь... готово...
ответ
TeX13, на гуи полноценную систему отлова урона реализовать нельзя.

Советую ознакомиться, в том числе и со ссылками из того сообщения.

23

» WarCraft 3 / Переход между КАРТАМИ?

Похожие вопросы:

ответ
Нет, тока кешь - тем более лимита на число значений в файле кеша нету, хоть миллион значений заноси.
По мимо героя, что тебе надо :
  1. Можно пробовать Preload Exploit, но если чесно - кешь удобнее, особенно для гуишников.
ответ
Maxim105, насчет положения кнопок. Думаю, если задать у всех способностей "Графика - Положение кнопки: ... (X), (Y)", они не должны перемешиваться (Вот тут про координаты есть). Хотя, возможно, проблема в чем-то другом.
Насчет иконок на мини карте. Отрыл в кампании Рексара, что для нейтральных зданий можно указать и включить специальную иконку
ответ
Хм.А может,сработает при вхожден в область - переход в другую карту с переносом героя,а потом на этой карте сделать всё то же самое,но уже на предыдущую карту?Такое прокатит?
ответ
Fly123, кнопка скачать загружает кампанию-пример из статьи.
ответ
Подробнее также можно в кампании Рексара посмотреть

23

» WarCraft 3 / Путь иконки "Отменить"

Похожие вопросы:

ответ
вот такой вариант устроит?)
ответ
ну попробуй так
перед созданием сбрось флаг
set a=GetUnitUIDefByIdCaching(unitid)
if a>0 then
call WMem(a+0xB8,0)
endif
после создания единицу обратно пишешь, должно сработать
ответ
при указании ника автора в разделе авторы и нормальном оформлении можно
и естественно при отсутствие претензий со стороны автора
ответ
эта статья к тебе не относится
она совсем про другое
тебе не нужны ни буферы ни файлы
по поводу 1 и 2 пунктов
а ты попробуй
а потом напиши тут о том что получилось
ответ
Попробуй проимпортировать прикреплённый файл в карту по такому пути.
Units\CommandFunc.txt
В файле атака не скрыта, поставть ей 0,-11.

23

» WarCraft 3 / вопрос про нестандартный код

Похожие вопросы:

ответ
cJass, vJass и Jass2 - разные концы одной палки. Но после освоения структур, которые есть в vJass и освоения синтаксиса cJass ты вполне сможешь быстро освоить любой язык C-семейства.

23

» WarCraft 3 / где найти эту иконку

Принятый ответ
Похожие вопросы:

ответ
не знаю даже поищи СТАРЕЙШИХ ИГРОКОВ У ВАРКРАФТА и попроси у них все карты которые они имеют
а дальше пороверь все карты и найди её если не найдёш значит она тебе приснилась)
ответ
Плохо искал значит ). Ссылки с телефона нет возможности вставить, но глянь проект Кет'а "колдун", там у него на страничке есть ссылка.
ответ
RMPQex в помощь
Далее всё что в ReplaceableTextures и есть иконки
ответ
Black Soul:
NazarPunk, здесь нет такой галки:
Единственная галка, которая есть именно у книги заклинаний, это "Перезарядка общего заклинания". В случайном порядке заклинания располагаются только в том случае, если минимум и максимум заклинаний не совпадают, как я и писал выше.

23

» WarCraft 3 / Кэш сохраняет на диск только часть данных

Похожие вопросы:

ответ
выбираешь все юниты,деструктэйблы,итемы и сохраняеш в кэш а также сохраняешь их координаты,но в мультиплеере кэш нельзя сохранить на диск,так что если надо сохранять в мультиплеере то юзай прелоад а если не надо сохранять на диск то юзай структуры или хэш
ответ
>глобальные переменные, не приватные
>куда-то выгружать, чтобы использовать в другом триггере

надеюсь, суть намёка понятна
ответ
~8gabriel8:
Camby, чем вас не устраивает способ Blizzard? Переносите в кэше героя с предметом, предмет перемещаете в нужное место, а героя из игры убираете.
ответ
ProximityCat:
Ну суть в том, что загруженную прелоадом информацию можно сохранить в кеш, а потом уже синхронизировать.
ответ
А её и не надо создавать
Смотри в сторону счетчика игр (ливнул/ доиграл до конца)
в коде всё есть и хорошо разжевано, что непонятно - спрашивай
Только тут начало идёт от какого-то 1940 (не помню число, надо с 0 начать считать), как начнёшь ковырять, сразу всё поймёшь

23

» WarCraft 3 / Нужно сделать захват точки или здания

Похожие вопросы:

ответ
Gerych, сюда тоже можно но вопрос будет закрыт через неделю с момента последнего ответа
ну а вообще для таких вещей стоит создать бложик и там в качестве ресурса подобное спрашивать

23

» WarCraft 3 / Что то не хочет работать

Похожие вопросы:

ответ
что именно в циклах тебе непонятно?
ответ
Maxsavin, берёшь бекап и продолжаешь работать в нём
на будущее будет урок
делай бекап после любого серьёзного изменения
ответ
Вот это чо за рак мозга? Какие еще локалки в фильтре с ифами? Ну с таким не удивительно что не работает.
Да всё работает, вообще-то
quq_CCCP:
Примерно так слабо?
И в чём смысл делать глобалку, а не просто писать тогда уж сразу GetFilterUnit( )
Я сдеал локалку, чтобы вместо GetFilterUnit( ) писать то, что мне нужно, в данном случае CLONE
quq_CCCP:
Потом клонов от способностей ищут не так,
Да так и я их могу найти
Точнее не совсем так, я их искал через Юнит входит в Область ( Игровая зона )
Но искать их в другом триггере и сдругим событием мне нафиг не нужно.
Мне нужно найти иллюзии сразу в триггере со способностью, чтобы потом не было геморроя
========================
И ещё раз повторюсь, что при повторном использовании способности, 2 прошлые иллюзии (да и вообще в принципе если рядом с гером будут другое любое ко-во иллюзий) перемещаются к противнику. Но две новосозданные остаются на месте.
Так же повторюсь, что когда проверка была IsUnitIllusion == false, то иллюзии определяло как не иллюзии!
Все кто пытались помочь, похоже проигнорировали это замечание...
========================
Мой вывод таков: Иллюзиям, призванным через стандартную Способность (Предмет: Иллюзии) присваивается статус иллюзий слегка позже, чем происходит проверка.
С другой стороны, скорее всего это может и можно как-то обойти, ведь есть карты примеры, где подобное работает нужным образом.
О том, как устроены чёртовы способности близов стоит только догадываться =\
К счастью Способность (Предмет: Иллюзии) не наносит 0.00 урона, и за это близам огромное спасибо (что у меня в очередной раз не бомбануло)
А вообще, проще по-моему сделать свою игру, чем нормальную карту в варкрафте -_-
ответ
У меня осталась 1.29 yadi.sk/d/_kI4qPkP5w2t0g
Под ней как раз шарпкрафт собирал.
ответ
~8gabriel8:
PT153:
Потому что число 0.01, сложенное 10 раз, меньше 0.1.
Выводи число следующим кодом, где r - твоё real число.
call DisplayTimedTextToPlayer(GetLocalPlayer(), 0., 0., 5., R2SW(r, 0, -1))
PT153:
у парня проблемы с алгоритмом, в какой вселенной 0.01 * 10 не 0.1?
В компьютерной. И да, 0.01 * 10 тоже может быть не равно 0.01 + ... + 0.01. Потому что складываются и умножаются real по-разному.
Hate, надо просто использовать целочисленные, или пользоваться ==, в JASS == округляет числа для сравнения (!= не округляет).

Пороверил разные варианты, сразу упомяну, что с целочисленными всё огонь, просто какие-то другие воспоминания с ними всплывали.
PT153, сначала не понял, зачем мне твоя строчка, она всего лишь выдавала 0.1 вместо 0.100, но тестировал разные варианты и всё прояснилось. Если задавать шаг 1.0, то всё исправно считается до 10.0, если задавать шаг 0.2, то всё считается до 2.2 и отображается ровно, но если сделать шаг 1.01, то вот тут и появляется то, ради чего ты эту строчку дал.
Именно с дробной частью косяк, и теперь не знаю как выбрать лучший ответ, по идее у тебя в каждом комментарии полезная информация. Просто объединил их в итоге.

Hate:
сначала прибавляет, а затем проверяет, потом удивляется почему 0.11
Обычно просто отшучиваюсь на подобные комментарии, но сейчас так всё грустно в нём, что не смогу.

23

» WarCraft 3 / Проблема с дропом

Похожие вопросы:

ответ
Во втором триггере меняем Triggering (переключающий) (который в данном случае камень) на Attacking и все работает.
А, и еще событие не "получает урон" а "атакован"
ответ
Не поленился, нашел:
Пора пилить статью на эту тему.
ответ
Нестандартная арена.

23

» WarCraft 3 / урон от ловкости

Похожие вопросы:

ответ
боже
боевая единица-нанести урон(как-то так)
в количестве урона указываем характеристику героя
ответ
Сергей4,
Перенесите hero = Атакующий до развилки IF/Then/Else
Вы пытаетесь посчитать ловкость от того, кого ещё нет, и уже после прока (которого нет, так как ловкость считывается из воздуха), вы присваиваете hero = атакующий герой.

23

» WarCraft 3 / Что я забыл?

Похожие вопросы:

ответ
В редакторе объектов у юнита, Графика: точка начала атаки, Z-высота X и Y по сторонам
ответ
Анимация кости базы при death сместилась у конечной точки в линейке анимации. Поправил. В игре потестил, работает. Рассчитать границы нужны когда делаешь новые или изменяешь старые анимации, одна из причин чтоб анимация не сместилась и была на своем месте. Но в твоем случае она сразу не помогла.
ответ
Увы но нет... Главная особенность той карты что все герои открываются по мере накопления очков за игру на карте, они не открыты сразу и не походу первой катки открываются а лишь с накоплением общих баллов. Я весь мозг сломал уже, в попытках вспомнить. Эх...
ответ
Если есть тимвиверные лаги, есть ещё миллион других программ для удалёнки, AnyDesk или Spleshtop (вроде платный, но это не проблема)
Но я делал по другому: по впн цеплялся домой на роутер, на домашнем компе на Win 10 pro создавал второго пользователя (в принципе можно и создавать и не патчить десятку под сервер), подключался через удалённый рабочий стол к домашнему компу и в принципе всё, vpn соедение на убунте хз где, но remmina для удалённого рабочего стола есть точно, ну или параллелс десктоп в режиме rdp.
Если ничего не понятно, то могу подробно расписать что и как я делал
Так же никто не отменял поставить варик на любой комп в рабочей сети (если есть доступ на такие пакости), хоть на компьютер бухглатера и в режиме второго пользователя сидеть по RDP на этом компе, WE вроде сильно не грузит =)
ответ
переименование w3m в w3x ничего не даст 1 ссылка с гугла xgm.guru/forum/showthread.php?t=33585
Есть такая вещь как защита карты, тут не помогут ни редакторы ни артмани, только деппротект, но при это ломается ГУИ структура, хотя в HOE такого и нет, карты уровня повыше, но в соло через артмани всё будет работать, как и "greedisgood 99999"
Как поменять тогда стартовое золото для игр с друзьями по сети? (надеюсь не по гаренке)
Попросить автора сделать для вас спец версию
Попросить депротекнуть карту и добавить золота умельцев, но у нас на XGM такое не любят

23

» WarCraft 3 / не импортируются файлы (JNGP)

Похожие вопросы:

ответ
Но ведь сами по себе ошибки не происходят.
Причина подобного это А) - невнимательность либо твоя либо автора В) - программное обеспечение
Что бы в дальнейшем все было окей, просто сначала потести карту полностью что бы знать что и как должно быть, а потом вноси изменения, будь внимательней.
Еще советую связаться с автором и поговорить с ним об этой проблеме, или запросить у него еще 1 исходник да бы сверЯться с ним.

23

» WarCraft 3 / Localized strings

Похожие вопросы:

ответ
string и texttag это разные типы
создаём текстаг с нужной нам строкой в нужном месте а потом скрываем его для всех кроме локального игрока
SetTextTagVisibility(tt,GetLocalPlayer()==p)
где tt это твой тексттаг
а p это игрок которому надо показать текстаг
P.S. больше пересказывать содержимое статей не буду
ответ
Спецэффекты - clear text messages for (группа игроков)
ответ
Не сов сем по теме, но близко - вот такое можно реализовать на новых функциях 1.31
Увы, полноценного инвентаря на аналогичных функциях пока не выкладывали в общий доступ, каждый пилит себе свою версию.
ответ
Вообще по идее диалоговое окно как бы фрейм, и он не должно дэсинхронизироваться от такого
Но всё можно ожидать от патча 1.26, но десинк возможен, если я токмо не ошибаюсь.
if GetLocalPlayer() == whichPlayer then
call DialogSetMessage(whichDialog, message)
endif
Если использовать локальную строку, то лучше создавать массив хранящий в себе строки, который должны показываться у игрока.
if GetLocalPlayer() == whichPlayer then
        set s = message
else
		set s = strData[ GetPlayerId( GetLocalPlayer() ) ] 
endif
А если оставить тот метод со строкой, то есть шанс, что у другого пропадёт просто надпись-сообщение:
Если этот использовать.
if GetLocalPlayer() == whichPlayer then
        set s = message
    endif
ответ
Юнит
Апгрейд
Код улучшения
Сорян, нашел косяк. Я невнимательный придурок. Не правильно указан ай-ди при изменения уровня апдейта.

23

» WarCraft 3 / x y?

Похожие вопросы:

ответ
ААААА, ты про декорации)
1 Это должна быть декорация (не разрушаемый объект)
2 минимальный и максимальный масштабы должны быть разными
3 ставишь декорацию выбираешь её и home\end увеличить\уменьшить ширину, pgup\pgdwn - увеличить\уменьшить высоту.
4 если именно X Y надо разные - открываешь свойства её и меняешь цифрами.
ответ
хоспаде, еле нашел
вам можно сказать повезло, там всё на простом джассе, + не забываем заглядывать в место для нестандартного кода, интересующие вас ф-ии это SX() и SY()
аналогично делаем для своих областей, в триггере инициализации я записываю в переменные значения координат игрового ректа, то же самое можно сделать с любой другой областью
управление w a d
*прочитал комменты*
если областей много, то всегда можно склеить из горизонтальных и вертикальных линий что-нибудь, из косых тоже можно, но там более геморно с событием выхода юнита из такой области.
Можно просто запоминать знак на каждом юните относительно каждой прямой, если он поменялся, значит юнит уже по другую сторону от прямой, мб ещё совместить это с системой чанков (и системой которая будет рассчитывать размер чанка относительно максимального радиуса действия спелла и размеров карты, для оптимальных размеров оного), но кому это нужно в вц3?
ответ
local location loc=GetUnitLoc(GetEnumUnit())
local location tcLoc=GetUnitLoc(udg_topot_caster)
local real a=AngleBetweenPoints(tcLoc, loc)
call SetUnitX(GetEnumUnit(),GetLocationX(loc) +CosBJ(a) * 10.00 )
call SetUnitY(GetEnumUnit(),GetLocationY(loc) +SinBJ(a) * 10.00 )
call RemoveLocation(tcLoc)
call RemoveLocation(loc)
set tcLoc=null
set loc=null
ответ
FabulousTiger, создаешь 12 х 12 абилок с разными координатами на карте команд, ну или меньше, все завивит от того что требуется и способность на основе Техника ('ANeg') и меняя уровень техники, ты свапаешь абилки и меняешь положение иконки на карте команд на ходу, изи но довольно громоздко.
Так же есть мемхак, но если вы задаёте такие вопросы явно рано о нем думать...
ответ
Я бы попробовал так.
function R2SX takes real r returns string
    return R2SW(r, 0, -1)
enfunction

SaveBoolean(Hash, StringHash(R2SX(x)), StringHash(R2SX(y)), key)